home *** CD-ROM | disk | FTP | other *** search
- 0 IF A>1 THEN RETURN :REM DUMMY-ROUTINE
- 1000 REM ******************************
- 1005 REM *** ***
- 1010 REM *** SOUND - EDITOR ***
- 1015 REM *** ***
- 1020 REM *** FUER DIE PARAMETER ***
- 1025 REM *** VON SID UND MODULATOR ***
- 1030 REM *** ***
- 1035 REM *** T. KRAETZIG 1985 ***
- 1040 REM *** ***
- 1045 REM ******************************
- 1050 REM
- 1055 REM FALLS VON MENUE 7 GEKOMMEN,
- 1060 REM DORTHIN ZURUECK
- 1065 IF M=7 THEN 7665
- 1070 REM
- 1120 REM MODULATOR LADEN
- 1130 IF A=0THEN A=1:LOAD"MODULATOR",8,1
- 1140 REM
- 1150 REM DIMENSIONIERUNGEN
- 1155 POKE 56,144:CLR:REM B.-GRENZE $9000
- 1160 DIM V%(7,255),TN%(255),TH(24)
- 1165 DIM BF(2),T(2),O(2),OF(2),S(2)
- 1170 DIM C1(2),C(2),AD(2),SR(2)
- 1175 DIM BL$(6),KV$(3),KF$(6),MD$(3)
- 1180 DIM TN$(11)
- 1185 REM
- 1190 GOSUB 8000 :REM INITIALISIERUNGEN
- 1200 GOSUB 4000 :REM HAUPTMENUE
- 1210 REM
- 1500 REM===============================
- 1510 REM HAUPTSCHLEIFE, SPRUNGVERTEILER
- 1520 REM===============================
- 1530 GET A$:IF A$="" THEN 1530
- 1540 A=ASC(A$)
- 1550 SYS GS,V%(M,A) :REM BERECHN. GOSUB
- 1560 GOTO 1530
- 2000 REM===============================
- 2010 REM NOTEN SPIELEN
- 2020 REM===============================
- 2025 POKE 650,0
- 2030 F=TH(TN%(A)):AD=MO+72:X=PEEK(AD)
- 2035 IF S(0) THEN SYSDO,MO ,F*BF(0):POKE SI+4 ,C1(0)
- 2040 IF S(1) THEN SYSDO,MO+7 ,F*BF(1):POKE SI+11,C1(1)
- 2050 IF S(2) THEN SYSDO,MO+14,F*BF(2):POKE SI+18,C1(2)
- 2090 IF EG THEN POKE AD,X OR 1
- 2110 IF SU THEN POKE 650,128:RETURN
- 2120 IF PEEK(203)<>64 AND PEEK(198)=0 THEN 2120
- 2130 POKE AD,X AND 254
- 2140 POKE SI+4 ,C(0)
- 2150 POKE SI+11,C(1):POKE SI+18,C(2)
- 2160 POKE 650,128:RETURN
- 2500 REM===============================
- 2510 REM NUMERISCHE PARAMETER AENDERN,
- 2520 REM VERTEILER EINZELROUTINEN
- 2530 REM===============================
- 2550 PW=PW+P2:IF PW>=PM THEN PW=PW-PM
- 2555 SYSGT,PV
- 2560 PW=PW+P1:IF PW>=PM THEN PW=PW-PM
- 2565 SYSGT,PV
- 2570 PW=PW-P1:IF PW< 0 THEN PW=PW+PM
- 2575 SYSGT,PV
- 2580 PW=PW-P2:IF PW< 0 THEN PW=PW+PM
- 2585 SYSGT,PV
- 2600 REM-------------------------------
- 2605 REM LFOF
- 2610 SYSDO,PA,PW:L=LEN(STR$(PW))
- 2620 SYSPR,3+LN,4,BL$(6-L);F2$;PW
- 2625 RETURN
- 2630 REM-------------------------------
- 2635 REM LFOP
- 2640 POKE PA,PW:L=LEN(STR$(PW))
- 2650 SYSPR,3+LN,11,BL$(4-L);F2$;PW
- 2655 RETURN
- 2660 REM-------------------------------
- 2665 REM LFOA
- 2670 POKE PA,PW:L=LEN(STR$(PW))
- 2680 SYSPR,3+LN,16,BL$(4-L);F2$;PW
- 2685 RETURN
- 2690 REM-------------------------------
- 2695 REM LFO KURVE
- 2700 IF A>136 OR A<133 THEN RETURN
- 2705 B=A-133 :REM B=0,1,2,3
- 2710 POKE PA,(PEEK(PA)AND231)OR(B*8)
- 2715 SYSPR,3+LN,21,F2$;KV$(B)
- 2717 SYSPR,6 ,34,F2$;KF$(B):RETURN
- 2720 REM-------------------------------
- 2725 REM LFO MODUS
- 2730 IF A>135 OR A<133 THEN RETURN
- 2735 B=A-132 :REM B=1,2,3
- 2740 POKE PA,(PEEK(PA)AND249)OR(B*2)
- 2745 SYSPR,3+LN,28,F2$;MD$(B):RETURN
- 2750 REM-------------------------------
- 2755 REM EG A D S R EGA (AN=0-4)
- 2760 POKE PA,PW:L=LEN(STR$(PW))
- 2765 SYSPR,7,S,BL$(4-L);F2$;PW:RETURN
- 2770 REM-------------------------------
- 2775 REM EG FORM
- 2780 B=-(A>134):REM F1,F3 B=0 F5,F7 B=1
- 2785 POKE PA,(PEEK(PA)AND247)OR(B*8)
- 2790 SYSPR,7,29,F2$;CHR$(43+2*B)
- 2795 RETURN
- 2810 REM-------------------------------
- 2815 REM EG MODUS
- 2820 IF A>135 OR A<133 THEN RETURN
- 2825 B=A-132 :REM B=1,2,3
- 2830 POKE PA,(PEEK(PA)AND249)OR(B*2)
- 2835 SYSPR,7,33,F2$;MD$(B):RETURN
- 2840 REM-------------------------------
- 2845 REM FILTER FREQUENZ
- 2850 POKE PA,PWAND7:POKE PA+1,INT(PW/8)
- 2855 L=LEN(STR$(PW))
- 2860 SYSPR,5,2,BL$(5-L);F2$;PW:RETURN
- 2865 REM-------------------------------
- 2870 REM FILTER RESONANZ
- 2875 RF=(RF AND 15)+16*PW:POKE PA,RF
- 2880 L=LEN(STR$(PW))
- 2885 SYSPR,5,9,BL$(3-L);F2$;PW:RETURN
- 2890 REM-------------------------------
- 2895 REM FILTER SCHALTER
- 2900 IF A>136 OR A<133 THEN RETURN
- 2905 B=A-133 :REM B=0,1,2,3
- 2910 X=2^B:X1=255-X:REM MASKEN
- 2915 Y=RF AND X
- 2920 RF=(RF AND X1)OR(X-Y):POKE PA,RF
- 2925 Y=-128*(Y=0):AD=1024+(5+B)*40+15
- 2930 FOR I=AD TO AD+5
- 2935 : POKE I,(PEEK(I)AND127)OR Y
- 2940 NEXT:RETURN
- 2945 REM-------------------------------
- 2950 REM FILTER MODUS
- 2955 IF A>136 OR A<133 THEN RETURN
- 2960 B=A-129 :REM B=4,5,6,7
- 2965 X=2^B:X1=255-X:REM MASKEN
- 2970 PW=PEEK(PA):Y=PW AND X
- 2975 POKE PA,(PW AND X1)OR(X-Y)
- 2980 Y=-128*(Y=0):AD=1024+(1+B)*40+25
- 2985 FOR I=AD TO AD+3
- 2990 : POKE I,(PEEK(I)AND127)OR Y
- 2995 NEXT:RETURN
- 3000 REM-------------------------------
- 3005 REM LAUTSTAERKE
- 3010 POKE PA,(PEEK(PA) AND 240) OR PW
- 3015 L=LEN(STR$(PW))
- 3020 SYSPR,5,31,BL$(3-L);F2$;PW:RETURN
- 3050 REM-------------------------------
- 3052 REM BASISFREQUENZ
- 3054 IF A<>134 THEN 3064
- 3056 REM F3 OFFSET ERHOEHEN
- 3058 OF=OF+1:IF OF<=50 THEN 3110
- 3062 OF=-49:GOTO 3076
- 3064 IF A<>135 THEN 3074
- 3066 REM F5 OFFSET ERNIEDRIGEN
- 3068 OF=OF-1:IF OF>=-49 THEN 3110
- 3072 OF=50:GOTO 3084
- 3074 IF A<>133 THEN 3082
- 3076 REM TONNUMMER ERHOEHEN
- 3078 T=T+1:IF T<=11 THEN 3110
- 3080 T=0:GOTO 3090
- 3082 IF A<>136 THEN RETURN
- 3084 REM TONNUMMER ERNIEDRIGEN
- 3086 T=T-1:IF T>=0 THEN 3110
- 3088 T=11:GOTO 3096
- 3090 REM OKTAVE ERHOEHEN
- 3092 O=O+1:IF O<=5 THEN 3110
- 3094 O=0:GOTO 3110
- 3096 REM OKTAVE ERNIEDRIGEN
- 3098 O=O-1:IF O>=0 THEN 3110
- 3100 O=5:T=10
- 3110 REM BASISFREQUENZ BERECHNEN
- 3112 IF T=11 AND O=5 THEN T=0:O=0
- 3114 BF=440*2^(O-4+(T-9)/12+OF/1200)
- 3116 O(SN)=O:T(SN)=T:OF(SN)=OF
- 3118 BF(SN)=BF*17.0327
- 3120 SYSDO,MO+7*SN,F*BF(SN)
- 3122 REM ANZEIGEN
- 3124 SYSPR,3+SN,3,F2$;O
- 3126 SYSPR,3+SN,2,TN$(T)
- 3128 SYSPR,3+SN,5,RIGHT$(" "+STR$(OF),3)
- 3130 RETURN
- 3150 REM-------------------------------
- 3155 REM PULSWEITE STIMME
- 3160 SYSDO,PA,PW
- 3165 SYSPR,3+SN,9,F2$;RIGHT$(" "+STR$(PW),4)
- 3170 RETURN
- 3175 REM-------------------------------
- 3180 REM A
- 3185 AD(SN)=(AD(SN)AND15) OR PW*16
- 3190 POKE PA,AD(SN)
- 3195 SYSPR,3+SN,14,F2$;RIGHT$(STR$(PW),2)
- 3200 RETURN
- 3205 REM-------------------------------
- 3210 REM D
- 3215 AD(SN)=(AD(SN)AND240) OR PW
- 3220 POKE PA,AD(SN)
- 3225 SYSPR,3+SN,17,F2$;RIGHT$(STR$(PW),2)
- 3230 RETURN
- 3235 REM-------------------------------
- 3240 REM S
- 3245 SR(SN)=(SR(SN)AND15) OR PW*16
- 3250 POKE PA,SR(SN)
- 3255 SYSPR,3+SN,20,F2$;RIGHT$(STR$(PW),2)
- 3260 RETURN
- 3265 REM-------------------------------
- 3270 REM R
- 3275 SR(SN)=(SR(SN)AND240) OR PW
- 3280 POKE PA,SR(SN)
- 3285 SYSPR,3+SN,23,F2$;RIGHT$(STR$(PW),2)
- 3290 RETURN
- 3300 REM-------------------------------
- 3305 REM CONTROL (BIT 7-S)
- 3310 IF A<>133 AND A<>134 THEN 3335
- 3315 REM BIT SETZEN
- 3320 C(SN)=C(SN) OR 2^(7-S)
- 3325 C1(SN)=C(SN) OR 1
- 3330 SYSPR,3+SN,26+S,F2$;"1":GOTO 3355
- 3335 REM BIT RUECKSETZEN
- 3340 C(SN)=C(SN) AND 255-2^(7-S)
- 3345 C1(SN)=C(SN) OR 1
- 3350 SYSPR,3+SN,26+S,F2$;"0"
- 3355 REM CONTROL-BYTE ZUM SID
- 3360 X=C(SN):IF SU THEN X=C1(SN)
- 3365 POKE SI+7*SN+4,X:RETURN
- 3370 REM-------------------------------
- 3375 REM PORTA
- 3380 POKE PA,PW:L=LEN(STR$(PW))
- 3385 SYSPR,3+SN,34,BL$(4-L);F2$;PW
- 3390 RETURN
- 3500 REM===============================
- 3510 REM STIMME (DES-)AKTIVIEREN
- 3520 REM===============================
- 3525 SYSPR,15,10,F2$;"STIMME 1,2,3"
- 3530 GET A$:IF A$=""THEN 3530
- 3540 IFA$="1"ORA$="2"ORA$="3"THEN 3560
- 3550 GOTO 3590
- 3560 I=VAL(A$)-1 :S(I)=NOT S(I)
- 3570 IF S(I) THEN PRINT CHR$(18);
- 3580 SYSPR,21,31+2*I,F1$;A$;CHR$(146);
- 3590 SYSPR,15,10,F1$;"STIMME 1,2,3"
- 3595 RETURN
- 3600 REM===============================
- 3610 REM SOFTWARE-EG AUSLOESEN
- 3620 REM===============================
- 3630 POKE 650,64
- 3640 AD=MO+72:X=PEEK(AD):POKE AD,X OR 1
- 3650 IF PEEK(203)<>64 AND PEEK(198)=0 THEN 3650
- 3660 POKE AD,XAND254:POKE650,128:RETURN
- 3700 REM===============================
- 3710 REM SOFTWARE-EG AN-/ABKOPPELN
- 3720 REM===============================
- 3730 EG=NOT EG
- 3740 IF EG THEN PRINT CHR$(18);
- 3750 SYSPR,23,31,F1$;"SOFT-EG[146]":RETURN
- 3800 REM===============================
- 3810 REM SUSTAIN-MODUS EIN/AUS
- 3820 REM===============================
- 3830 SU=NOT SU
- 3840 IF SU THEN PRINT CHR$(18);
- 3850 SYSPR,22,31,F1$;"SUSTAIN[146]"
- 3860 IF NOT SU THEN 2140
- 3870 RETURN
- 4000 REM===============================
- 4010 REM HAUPTMENUE
- 4020 REM===============================
- 4030 M=0:PV=0:SYSCL:PRINT "";F1$
- 4040 PRINT" [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
- 4045 PRINT" [194] M O D U L A T O R [146][194]"
- 4050 PRINT" [194] THOMAS KRAETZIG 1985 [146][194]"
- 4055 PRINT" [173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]"
- 4100 SYSPR,6,1,F2$;"SH V";F1$;" STIMMEN"
- 4105 SYSPR,7,1,F2$;" F";F1$;" FILTER/LAUTSTAERKE"
- 4110 SYSPR,8,1,F2$;" L";F1$;" LFO"
- 4115 SYSPR,9,1,F2$;" H";F1$;" HUELLKURVE (SOFT-EG)"
- 4120 SYSPR,10,1,F2$;" K";F1$;" KSV"
- 4125 SYSPR,11,1,F2$;"SH S";F1$;" SOUNDS"
- 4130 SYSPR,12,1,F2$;" D";F1$;" DISK"
- 4135 RETURN
- 4200 REM-------------------------------
- 4210 REM BILD ZEILEN 15-23
- 4220 REM-------------------------------
- 4240 SYSPR,15,1, F2$;"V 1,2,3"
- 4245 SYSPR,15,10,F1$;"STIMME 1,2,3
- 4250 [158]PR,15,26,F2$;"S"
- 4255 [158]PR,15,32,F1$;"SUSTAIN"
- 4260 [158]PR,16,1, F2$;"SH SPACE"
- 4270 [158]PR,16,10,F1$;"EG (AB-)KOPPELN"
- 4280 [158]PR,16,26,F2$;"SPACE"
- 4290 [158]PR,16,32,F1$;"EG GATE"
- 4292 [158]PR,17,1, F2$;"X"
- 4294 [158]PR,17,10,F1$;"HAUPTMENUE"
- 4300 [158]PR,19,0,F2$;
- 4310 [129] I[178]1 [164] 4
- 4320 : [153]" PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK WAIT":[130]
- 4330 [153]" QPEEKWPEEKEPEEKRPEEKTPEEKYPEEKUPEEKIPEEKOPEEKPPEEK@PEEK*PEEK^PEEK;PEEK="
- 4340 [158]PR,19,0,;
- 4350 [129] I[178]1 [164] 2
- 4360 : [153]" ":[130]
- 4370 [153]" 2356790-\C"
- 4380 [158]PR,19,31,F1$;"AKTIV:"
- 4390 [129] I[178]0 [164] 2
- 4400 : A$[178][201]([196](I[170]1),1)
- 4410 : [141] 3570:[130] I
- 4420 [141] 3840:[141] 3740
- 4430 [142]
- 4500 [143]===============================
- 4505 [143] UNTERMENUE STIMME
- 4510 [143]===============================
- 4515 M[178]1:PV[178]3050:[158]CL:[153]"WAIT";F1$
- 4520 [153]" F PW A D S R CONTROL PORTA"
- 4525 [153]" ORLENLENLENLENLENLEN=LENLENLENLEN=LENLEN=LENLEN=LENLEN=LENLEN=LENLENLENLENLENLENLEN=LENLENLENLEN^"
- 4530 [129] I[178]1 [164] 3
- 4535 [153]" PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK"
- 4540 [130] I
- 4545 [153]" /LENLENLENLENLENLEN>LENLENLENLEN>LENLEN>LENLEN>LENLEN>LENLEN>=======>LENLENLENLENEXP"
- 4550 [158]PR,7,26,"PEEKPEEKPEEKPEEKPEEKPEEK/LENLENSYNC"
- 4555 [158]PR,8,26,"PEEKPEEKPEEKPEEKPEEK/LENLENRING"
- 4560 [158]PR,9,1,F2$;"F1 ++";F1$
- 4565 [158]PR,9,26,"PEEKPEEKPEEKPEEK/LENLENTEST"
- 4570 [158]PR,10,1,F2$;"F3 +";F1$
- 4575 [158]PR,10,26,"PEEKPEEKPEEK/LENLENTRIAN"
- 4580 [158]PR,11,1,F2$;"F5 -";F1$
- 4585 [158]PR,11,26,"PEEKPEEK/LENLENSAWTOOTH"
- 4590 [158]PR,12,1,F2$;"F7 --";F1$
- 4595 [158]PR,12,26,"PEEK/LENLENSQUARE"
- 4600 [158]PR,13,26,"/LENLENNOISE"
- 4602 [143] PARAMETER ANZEIGEN
- 4604 A$[178]F2$:F2$[178]F1$
- 4606 [129] SN[178]0 [164] 2
- 4608 : T[178]T(SN):O[178]O(SN):OF[178]OF(SN)
- 4610 : [141] 3122:[143] F
- 4612 : PW[178]([183](MO[170]7[172]SN[170]2)):[141] 3165
- 4614 : PW[178][181](AD(SN)[173]16) :[141] 3195
- 4616 : PW[178]AD(SN)[175]15 :[141] 3225
- 4618 : PW[178][181](SR(SN)[173]16) :[141] 3255
- 4620 : PW[178]SR(SN)[175]15 :[141] 3285
- 4622 : [143] CONTROL-BYTE (7 BIT)
- 4624 : B[178]C(SN):A[178]128
- 4626 : [158]PR,3[170]SN,26,F1$;"0000000"
- 4628 : [129] S[178]7 [164] 1 [169] [171]1
- 4630 : [139](B[175]A)[167][158]PR,3[170]SN,33[171]S,"1"
- 4632 : A[178]A[173]2:[130] S
- 4634 : PA[178]MO[170]7[172]SN[170]4:PW[178][194](PA)
- 4636 : [141] 3370:[143] PORTA
- 4638 [130] SN
- 4640 F2$[178]A$
- 4642 SN[178]0:AV[178]4700:[158]GS,AV:[142]
- 4650 [143]-------------------------------
- 4652 [143] PARAMETERWAHL DURCH CURSOR
- 4654 [143] HOCH
- 4656 SN[178]SN[171]1:[139] SN[179]0 [167] SN[178]2
- 4658 [141] 5815:[158]GT,AV
- 4660 [143] RUNTER
- 4662 SN[178]SN[170]1:[139] SN[177]2 [167] SN[178]0
- 4664 [141] 5815:[158]GT,AV
- 4666 [143] RECHTS
- 4668 [139] AV[179][177]4880 [167] 4674
- 4670 S[178]S[170]1:[139] S[177]6 [167] AV[178]4910
- 4672 [137] 4678
- 4674 AV[178]AV[170]30:[139] AV[177]4910 [167] AV[178]4700
- 4676 [139] AV[178]4880 [167] S[178]0
- 4678 [141] 5815:[158]GT,AV
- 4680 [143] LINKS
- 4682 [139] AV[179][177]4880 [167] 4688
- 4684 S[178]S[171]1:[139] S[179]0 [167] AV[178]4850
- 4686 [137] 4692
- 4688 AV[178]AV[171]30:[139] AV[179]4700 [167] AV[178]4910
- 4690 [139] AV[178]4880 [167] S[178]6
- 4692 [141] 5815:[158]GT,AV
- 4700 [143]-------------------------------
- 4702 [143] BASISFREQUENZ WAEHLEN
- 4704 PB[178]FA[170]40[172](SN[170]3)[170]2
- 4706 [129] I[178]PB [164] PB[170]5:[151] I,F2:[130]
- 4708 T[178]T(SN):O[178]O(SN):OF[178]OF(SN)
- 4710 PA[178]MO[170]7[172]SN:PV[178]3050:[142]
- 4730 [143]-------------------------------
- 4732 [143] PULSWEITE WAEHLEN
- 4734 PB[178]FA[170]40[172](SN[170]3)[170]9
- 4736 [129] I[178]PB [164] PB[170]3:[151] I,F2:[130]
- 4738 PA[178]MO[170]7[172]SN[170]2:PW[178][183](PA):PM[178]4096
- 4740 P1[178]1:P2[178]50:PV[178]3150:[142]
- 4760 [143]-------------------------------
- 4762 [143] ATTACK WAEHLEN
- 4764 PB[178]FA[170]40[172](SN[170]3)[170]14
- 4766 [151] PB,F2:[151] PB[170]1,F2
- 4768 PA[178]SI[170]7[172]SN[170]5:PW[178][181](AD(SN)[173]16)
- 4770 PM[178]16:P1[178]1:P2[178]1:PV[178]3175:[142]
- 4790 [143]-------------------------------
- 4792 [143] DECAY WAEHLEN
- 4794 PB[178]FA[170]40[172](SN[170]3)[170]17
- 4796 [151] PB,F2:[151] PB[170]1,F2
- 4798 PA[178]SI[170]7[172]SN[170]5:PW[178]AD(SN)[175]15
- 4800 PM[178]16:P1[178]1:P2[178]1:PV[178]3205:[142]
- 4820 [143]-------------------------------
- 4822 [143] SUSTAIN WAEHLEN
- 4824 PB[178]FA[170]40[172](SN[170]3)[170]20
- 4826 [151] PB,F2:[151] PB[170]1,F2
- 4828 PA[178]SI[170]7[172]SN[170]6:PW[178][181](SR(SN)[173]16)
- 4830 PM[178]16:P1[178]1:P2[178]1:PV[178]3235:[142]
- 4850 [143]-------------------------------
- 4852 [143] RELEASE WAEHLEN
- 4854 PB[178]FA[170]40[172](SN[170]3)[170]23
- 4856 [151] PB,F2:[151] PB[170]1,F2
- 4858 PA[178]SI[170]7[172]SN[170]6:PW[178]SR(SN)[175]15
- 4860 PM[178]16:P1[178]1:P2[178]1:PV[178]3265:[142]
- 4880 [143]-------------------------------
- 4882 [143] CONTROL-BYTE WAEHLEN
- 4884 PB[178]FA[170]40[172](SN[170]3)[170]26[170]S
- 4886 [151] PB,F2
- 4888 PA[178]SI[170]7[172]SN[170]4:PV[178]3300:[142]
- 4910 [143]-------------------------------
- 4912 [143] PORTA WAEHLEN
- 4914 PB[178]FA[170]40[172](SN[170]3)[170]35
- 4916 [129] I[178]0 [164] 2:[151] PB[170]I,F2:[130]
- 4918 PA[178]MO[170]7[172]SN[170]4:PW[178][194](PA):PM[178]256
- 4920 P1[178]1:P2[178]10:PV[178]3370:[142]
- 5000 [143]===============================
- 5005 [143] UNTERMENUE FILTER/LAUT
- 5010 [143]===============================
- 5015 M[178]2:PV[178]0:[158]CL:[153]"WAIT";F1$
- 5020 [153]" FILTER/LAUTSTAERKE"
- 5025 [153]" ORLENLENLENLENLEN=LENLENLENLENLEN=LENLENLENLENLENLENLENLEN=LENLENLENLENLENLENLEN=LENLENLENLEN^"
- 5030 [153]" PEEKFILTFPEEK RES PEEKSCHALTERPEEK MODUS PEEKLAUTPEEK"
- 5035 [153]" -LENLENLENLENLEN(null)LENLENLENLENLEN(null)LENLENLENLENLENLENLENLEN(null)LENLENLENLENLENLENLEN(null)LENLENLENLEN<"
- 5040 [153]" PEEK PEEK PEEK FILT1 PEEK LP PEEK PEEK"
- 5045 [153]" -LENLENLENLENLEN>LENLENLENLENLEN< FILT2 PEEK BP -LENLENLENLENEXP"
- 5050 [153]" PEEK PEEK FILT3 PEEK HP PEEK"
- 5055 [153]" PEEK PEEK FILTEX PEEK 3OFF PEEK"
- 5060 [153]" /LENLENLENLENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENEXP"
- 5065 [153] F2$;" F1";F1$;" ++ FILT1 LP ++"
- 5070 [153] F2$;" F3";F1$;" + FILT2 BP +"
- 5075 [153] F2$;" F5";F1$;" - FILT3 HP -"
- 5080 [153] F2$;" F7";F1$;" - FILTEX 3OFF --"
- 5085 PW[178]([194](MO[170]21)[175]7)[170]8[172][194](MO[170]22)
- 5090 [158]PR,5, 7[171][195]([196](PW)),PW
- 5095 PW[178][181](RF[173]16)
- 5100 [158]PR,5,12[171][195]([196](PW)),PW
- 5102 [139]RF[175]1[167] [158]PR,5,15,"FILT1 WAIT"
- 5104 [139]RF[175]2[167] [158]PR,6,15,"FILT2 WAIT"
- 5106 [139]RF[175]4[167] [158]PR,7,15,"FILT3 WAIT"
- 5108 [139]RF[175]8[167] [158]PR,8,15,"TILTEXWAIT"
- 5110 PW[178][194](MO[170]23)
- 5112 [139]PW[175] 16[167] [158]PR,5,25," LP WAIT"
- 5114 [139]PW[175] 32[167] [158]PR,6,25," BP WAIT"
- 5116 [139]PW[175] 64[167] [158]PR,7,25," HP WAIT"
- 5118 [139]PW[175]128[167] [158]PR,8,25,"3OFFWAIT"
- 5120 PW[178][194](MO[170]23)[175]15
- 5122 [158]PR,5,34[171][195]([196](PW)),PW
- 5125 AV[178]5200:[158]GS,AV:[142]
- 5130 [143]-------------------------------
- 5135 [143] PARAMETERWAHL DURCH CURSOR
- 5140 [143] RECHTS
- 5145 AV[178]AV[170]50:[139] AV[177]5400 [167] AV[178]5200
- 5150 [137] 5165
- 5155 [143] LINKS
- 5160 AV[178]AV[171]50:[139] AV[179]5200 [167] AV[178]5400
- 5165 [141] 5815:A[178]PB[171]FA[171]200
- 5170 [139] A[179][177]15 [175] A[179][177]25 [167] [158]GT,AV
- 5175 [129] J[178]1[164]3:PB[178]PB[170]40:[141]5815:[130]
- 5180 PB[178]PB[171]120:[158]GT,AV
- 5200 [143]-------------------------------
- 5205 [143] FILTERFREQUENZ ANWAEHLEN
- 5210 PB[178]FA[170]203
- 5215 [129] I[178]PB [164] PB[170]3:[151] I,F2:[130]
- 5220 PA[178]MO[170]21:PW[178][194](PA)[170]8[172][194](PA[170]1)
- 5225 PM[178]2048:P1[178]1:P2[178]50:PV[178]2850:[142]
- 5250 [143]-------------------------------
- 5255 [143] RESONANZ ANWAEHLEN
- 5260 PB[178]FA[170]210
- 5265 [151] PB,F2:[151] PB[170]1,F2
- 5270 PA[178]SI[170]23:PW[178][181](RF[173]16)
- 5275 PM[178]16:P1[178]1:P2[178]1:PV[178]2875:[142]
- 5300 [143]-------------------------------
- 5305 [143] SCHALTER ANWAEHLEN
- 5310 PB[178]FA[170]215
- 5315 [129] I[178]0 [164] 120 [169]40:[129] J[178]0 [164] 5
- 5320 : [151] PB[170]I[170]J,F2:[130]:[130]
- 5325 PA[178]SI[170]23:PW[178]RF [175] 15
- 5330 PV[178]2900:[142]
- 5350 [143]-------------------------------
- 5355 [143] MODUS ANWAEHLEN
- 5360 PB[178]FA[170]225
- 5365 [129] I[178]0 [164] 120 [169]40:[129] J[178]0 [164] 3
- 5370 : [151] PB[170]I[170]J,F2:[130]:[130]
- 5375 PA[178]MO[170]23
- 5380 PV[178]2955:[142]
- 5400 [143]-------------------------------
- 5405 [143] LAUTSTAERKE ANWAEHLEN
- 5410 PB[178]FA[170]232
- 5415 [151] PB,F2:[151] PB[170]1,F2
- 5420 PA[178]MO[170]23:PW[178][194](PA) [175] 15
- 5425 PM[178]16:P1[178]1:P2[178]1:PV[178]3010:[142]
- 5500 [143]===============================
- 5505 [143] UNTERMENUE LFO
- 5510 [143]===============================
- 5515 M[178]3:[158]CL:[153]"WAIT";F1$;
- 5520 [153]" ORLENLENLENLENLENLEN=LENLENLENLEN=LENLENLENLEN=LENLENLENLENLENLEN=LENLENLENLENLEN^"
- 5525 [153]" PEEK LFOF PEEKLFOPPEEKLFOAPEEKKURVE PEEKMODUSPEEK"
- 5530 [153]" ORLEN(null)LENLENLENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLENLENLEN(null)LENLENLENLENLEN(null)LENLENLENLEN^"
- 5535 [129] Z[178]3 [164] 9
- 5540 : [158]PR,Z,1,"PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK"
- 5545 [130] Z
- 5550 [158]PR,10,1,"/LEN>LENLENLENLENLENLEN>LENLENLENLEN>LENLENLENLEN>LENLENLENLENLENLEN>LENLENLENLENLEN>LENLENLENLENEXP
- 5555 PRINT F2$;" F1";F1$;" ++ ++ ++ TRIAN RESET"
- 5560 PRINT F2$;" F3";F1$;" + + + SAWUP HOLD"
- 5565 PRINT F2$;" F5";F1$;" - - - SAWDWN RUN"
- 5570 PRINT F2$;" F7";F1$;" -- -- -- SQUARE"
- 5575 FOR LN=0 TO 6
- 5580 : Z=3+LN
- 5585 : SYSPR,Z,2,CHR$(48+LN)
- 5590 : PW=USR(MO+32+5*LN) :REM LFOF
- 5595 : SYSPR,Z,10-LEN(STR$(PW)),PW
- 5600 : PW=PEEK(MO+34+5*LN) :REM LFOP
- 5605 : SYSPR,Z,15-LEN(STR$(PW)),PW
- 5610 : PW=PEEK(MO+35+5*LN) :REM LFOA
- 5615 : SYSPR,Z,20-LEN(STR$(PW)),PW
- 5620 : PW=PEEK(MO+36+5*LN) :REM LFOC
- 5625 : SYSPR,Z,21,KV$((PW AND 24)/8)
- 5630 : SYSPR,Z,28,MD$((PW AND 6)/2)
- 5640 NEXT LN
- 5645 LN=0:AV=5830:SYSGS,AV:RETURN
- 5650 REM-------------------------------
- 5655 REM PARAMETERWAHL DURCH CURSOR
- 5670 REM HOCH
- 5675 LN=LN-1:IF LN<0 THEN LN=6
- 5680 GOSUB 5815:SYSGT,AV
- 5685 REM RUNTER
- 5690 LN=LN+1:IF LN>6 THEN LN=0
- 5695 GOSUB 5815:SYSGT,AV
- 5700 REM RECHTS
- 5705 AV=AV+30:IF AV>5950 THEN AV=5830
- 5710 GOSUB 5810:SYSGT,AV
- 5715 REM LINKS
- 5720 AV=AV-30:IF AV<5830 THEN AV=5950
- 5725 GOSUB 5810:SYSGT,AV
- 5800 REM-------------------------------
- 5805 REM AKTUELES PARAMETERFELD FARBE 1
- 5810 SYSPR,6,34," "
- 5815 FORI=PBTOPB+6:POKEI,F1:NEXT:RETURN
- 5820 REM-------------------------------
- 5825 REM LFOF ANWAEHLEN
- 5830 PB=FA+40*(LN+3)+4
- 5835 FOR I=PB TO PB+5:POKE I,F2:NEXT
- 5840 PA=MO+32+5*LN:PW=USR(PA):PM=65536
- 5845 P1=1:P2=200:PV=2610:RETURN
- 5850 REM-------------------------------
- 5855 REM LFOP ANWAEHLEN
- 5860 PB=FA+40*(LN+3)+11
- 5865 FOR I=PB TO PB+3:POKE I,F2:NEXT
- 5870 PA=MO+34+5*LN:PW=PEEK(PA):PM=256
- 5875 P1=1:P2=10 :PV=2640:RETURN
- 5880 REM-------------------------------
- 5885 REM LFOA WAEHLEN
- 5890 PB=FA+40*(LN+3)+16
- 5895 FOR I=PB TO PB+3:POKE I,F2:NEXT
- 5900 PA=MO+35+5*LN:PW=PEEK(PA):PM=256
- 5905 P1=1:P2=10 :PV=2670:RETURN
- 5910 REM-------------------------------
- 5915 REM LFO KURVE WAEHLEN
- 5920 PB=FA+40*(LN+3)+21
- 5925 FOR I=PB TO PB+5:POKE I,F2:NEXT
- 5930 PA=MO+36+5*LN:PV=2700
- 5935 B=(PEEK(PA) AND 24)/8:GOTO 2717
- 5940 REM-------------------------------
- 5945 REM LFO MODUS WAEHLEN
- 5950 PB=FA+40*(LN+3)+28
- 5955 FOR J=PB TO PB+4:POKE J,F2:NEXT
- 5960 PA=MO+36+5*LN
- 5965 PV=2730:RETURN
- 6000 REM===============================
- 6010 REM UNTERMENUE EG
- 6020 REM===============================
- 6030 M=4:SYSCL:PRINT"[146]";F1$
- 6040 PRINT" SOFTWARE-EG":PRINT:PRINT
- 6050 PRINT" [176][195][195][195][195][178][195][195][195][195][178][195][195][195][195][178][195][195][195][195][178][195][195][195][195][178][195][195][195][195][195][178][195][195][195][195][195][174]"
- 6060 PRINT" [194] A [194] D [194] S [194] R [194] EGA[194] FORM[194]MODUS[194]"
- 6070 PRINT" [171][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][195][219][195][195][195][195][195][179]"
- 6080 PRINT" [194] [194] [194] [194] [194] [194] [194] [194]"
- 6090 PRINT" [173][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][195][177][195][195][195][195][195][189]"
- 6100 SYSPR,10,1,F2$;"F1":PRINT" F3"
- 6110 PRINT" F5":PRINT" F7";F1$
- 6120 SYSPR,10,13,"++ RESET"
- 6130 SYSPR,11,13,"+ + HOLD"
- 6140 SYSPR,12,13,"- - RUN"
- 6150 SYSPR,13,13,"--"
- 6160 FOR I=0 TO 4
- 6170 : PW=PEEK(MO+67+I)
- 6180 : SYSPR,7,6+5*I-LEN(STR$(PW)),PW
- 6190 NEXT I
- 6210 PW=PEEK(MO+72)
- 6220 SYSPR,7,29,CHR$(43+(PW AND 8)/4)
- 6230 SYSPR,7,33,MD$((PW AND 6)/2)
- 6240 AV=6310:AN=0:SYSGT,AV
- 6300 REM-------------------------------
- 6305 REM A D S R EGA (AN=0-4) WAEHLEN
- 6310 PB=FA+282+5*AN:S=2+5*AN
- 6315 FOR I=PB TO PB+3:POKE I,F2:NEXT
- 6320 PA=MO+67+AN :PW=PEEK(PA)
- 6325 PM=256:IF AN=0 THEN PM=129
- 6330 P1=1:P2=10:PV=2760:RETURN
- 6335 REM-------------------------------
- 6340 REM EG FORM WAEHLEN
- 6345 PB=FA+280+27:POKE PB+2,F2
- 6350 PA=MO+72:PV=2780:RETURN
- 6370 REM-------------------------------
- 6375 REM EG MODUS WAEHLEN
- 6380 PB=FA+280+33
- 6385 FOR I=PB TO PB+4:POKE I,F2:NEXT
- 6390 PA=MO+72:PV=2820:RETURN
- 6395 REM-------------------------------
- 6400 REM PARAMETERWAHL DURCH CURSOR
- 6405 REM LINKS
- 6410 IF AV<>6310 THEN 6420
- 6415 AN=AN-1:IF AN>=0 THEN 6430
- 6420 AV=AV-35:AN=4
- 6425 IF AV<6310 THEN AV=6380
- 6430 GOSUB 5815:SYSGT,AV
- 6435 REM RECHTS
- 6440 IF AV<>6310 THEN 6450
- 6445 AN=AN+1:IF AN<=4 THEN 6460
- 6450 AV=AV+35
- 6455 IF AV>6380 THEN AV=6310:AN=0
- 6460 GOSUB 5815:SYSGT,AV
- 6500 REM===============================
- 6510 REM UNTERMENUE KSV
- 6520 REM===============================
- 6530 M=5:PV=0:PRINT"[146]";:SYSCL
- 6540 SYSPR,1,1,F1$;"KREUZSCHIENEN-VERTEILER"
- 6550 SYSPR,3,1,"E LFO"
- 6560 SYSPR,4,1,"G6543210"
- 6570 SYSPR,5,1,F2$;"[164][164][164][164][164][164][164][164]"
- 6580 A$=F2$+"[167]"+F1$+" "+F2$+"[212] "+F1$
- 6590 PRINT A$;"F1";F2$;" CURSORTASTEN"
- 6600 PRINT A$;"F2"
- 6610 PRINT A$;"F3"
- 6620 PRINT A$;"P1";F2$;" F1 ";F1$;"VERBINDUNG"
- 6630 PRINT A$;"P2"
- 6640 PRINT A$;"P3";F2$;" F7 ";F1$;"KEINE VERBINDUNG"
- 6650 PRINT A$;"FILT"
- 6660 PRINT A$;"LAUT"
- 6670 PRINT F2$;" [163][163][163][163][163][163][163][163]"
- 6680 FOR Z=0 TO 7:GOSUB 6730:NEXT
- 6685 Z=0:S=7:POKE 55296+40*(6+Z)+8-S,F2
- 6690 RETURN
- 6700 REM-------------------------------
- 6710 REM KSV-BYTE Z ANZEIGEN
- 6720 REM-------------------------------
- 6730 B=PEEK(MO+24+Z):A=128
- 6740 SYSPR,6+Z,1,F1$;"00000000"
- 6750 IF B=0 THEN RETURN
- 6760 FOR S=7 TO 0 STEP -1
- 6770 IF(B AND A)THENSYSPR,6+Z,8-S,"1";
- 6780 A=A/2:NEXT S
- 6790 PRINT F1$;:RETURN
- 6800 REM-------------------------------
- 6810 REM CURSORBEWEGUNGEN
- 6820 REM-------------------------------
- 6830 POKE 55296+40*(6+Z)+8-S,F1:REM AUS
- 6840 Z=(Z-1) AND 7:GOTO 6910:REM HOCH
- 6850 POKE 55296+40*(6+Z)+8-S,F1
- 6860 Z=(Z+1) AND 7:GOTO 6910:REM RUNTER
- 6870 POKE 55296+40*(6+Z)+8-S,F1
- 6880 S=(S+1) AND 7:GOTO 6910:REM LINKS
- 6890 POKE 55296+40*(6+Z)+8-S,F1
- 6900 S=(S-1) AND 7:GOTO 6910:REM RECHTS
- 6910 POKE 55296+40*(6+Z)+8-S,F2:REM AN
- 6915 RETURN
- 6920 REM-------------------------------
- 6925 REM KSV BIT Z,S SETZEN
- 6930 REM-------------------------------
- 6935 AD=MO+24+Z
- 6940 POKE AD,PEEK(AD) OR 2^S
- 6950 POKE 1024+40*(6+Z)+8-S,177:RETURN
- 6960 REM-------------------------------
- 6965 REM KSV BIT Z,S SETZEN
- 6970 REM-------------------------------
- 6975 AD=MO+24+Z
- 6980 POKE AD,PEEK(AD) AND (255-2^S)
- 6990 POKE 1024+40*(6+Z)+8-S,176:RETURN
- 7000 REM===============================
- 7005 REM UNTERMENUE SOUNDS
- 7010 REM===============================
- 7015 M=6:PV=0:SYSCL:PRINT"[146]";F2$
- 7020 SYSPR,1,8,"A B C"
- 7025 PRINT F1$;" [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
- 7030 FOR I=1 TO 8
- 7035 SYSPR,2+I,1,F2$;CHR$(48+I);F1$" [194]"
- 7040 SYSPR,2+I,38,"[194]":NEXT
- 7045 SYSPR,11,3,"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]"
- 7050 SYSPR,12,4,F2$;"A-C 1-8"
- 7055 SYSPR,12,13,F1$;"SOUND WAEHLEN"
- 7060 SYSPR,13,1,F2$;"_ A-C 1-8"
- 7065 SYSPR,13,13,F1$"SOUND ABSPEICHERN"
- 7070 SYSPR,14,1,F2$;"N"
- 7075 SYSPR,14,13,F1$;"NAMEN EINGEBEN (RETURN)"
- 7080 FOR S=0 TO 2:FOR Z=0 TO 7
- 7085 : SYSPR,3+Z,4+S*12,;
- 7090 : SYSNA,SO+107*(8*S+Z)+97
- 7095 NEXT:NEXT:IFNS<0THENZ=0:S=0:RETURN
- 7100 Z=NS AND 7:S=INT(NS/8):GOTO 7180
- 7110 REM-------------------------------
- 7115 REM SOUND WAEHLEN (A,B,C)
- 7120 X=A-65 :REM SPALTE 0,1,2
- 7122 SYSPR,12,13,F2$;"[146]SOUND WAEHLEN"
- 7125 GET A$:IF A$="" THEN 7125
- 7130 Y=ASC(A$)-49:REM ZEILE
- 7135 IF Y<0 OR Y>7 THEN 7142
- 7140 GOSUB 7150:GOSUB 7400
- 7142 SYSPR,12,13,F1$;"[146]SOUND WAEHLEN"
- 7144 RETURN
- 7146 REM-------------------------------
- 7150 REM ALTES NAMENFELD NORMAL
- 7155 NS=8*S+Z
- 7160 : SYSPR,3+Z,4+S*12,F1$;"[146]";
- 7165 : SYSNA,SO+107*NS+97
- 7170 REM NEUES NAMENFELD HERVORHEBEN
- 7175 S=X:Z=Y:NS=8*S+Z
- 7180 : SYSPR,3+Z,4+S*12,F2$;"[146]";
- 7185 : SYSNA,SO+107*NS+97
- 7190 RETURN
- 7200 REM-------------------------------
- 7205 REM SOUND ABSPEICHERN
- 7210 SYSPR,13,13,F2$;"[146]SOUND ABSPEICHERN"
- 7215 GET A$:IF A$="" THEN 7215
- 7220 X=ASC(A$)-65:REM SPALTE
- 7225 IF X<0 OR X>2 THEN 7250
- 7230 GET A$:IF A$="" THEN 7230
- 7235 Y=ASC(A$)-49:REM ZEILE
- 7240 IF Y<0 OR Y>7 THEN 7250
- 7245 GOSUB 7150:GOSUB 7450:GOTO 7260
- 7250 SYSPR,13,13,F1$;"[146]SOUND ABSPEICHERN"
- 7255 RETURN
- 7260 SYSPR,13,13,F1$;"[146]SOUND ABSPEICHERN"
- 7300 REM-------------------------------
- 7305 REM NAMEN EINGEBEN (Z,S,NS)
- 7310 SYSPR,14,13,F2$;"NAMEN EINGEBEN (RETURN)"
- 7315 X=12*S+4:Y=Z+3:AD=1024+40*Y+X
- 7320 SA=SO+107*NS+97:I=0
- 7325 POKE AD+I,PEEK(AD+I) OR 128
- 7330 GET A$:IF A$="" THEN 7330
- 7335 A=ASC(A$):IF A<32OR A>95 THEN 7370
- 7340 REM ZEICHEN AUSGEBEN
- 7345 SYSPR,Y,X+I,F2$;A$;:POKE SA+I,A
- 7350 I=I+1
- 7355 IF I>9 THEN I=9:GOTO 7325
- 7360 IF I<0 THEN I=0
- 7365 GOTO 7325
- 7370 IF A=29 THEN POKE AD+I,PEEK(AD+I) AND 127:GOTO 7350
- 7375 IF A=157THEN POKE AD+I,PEEK(AD+I) AND 127:I=I-1:GOTO 7355
- 7380 IF A<>13 THEN 7330
- 7385 POKE AD+I,PEEK(AD+I) AND 127
- 7390 SYSPR,14,13,F1$;"NAMEN EINGEBEN (RETURN)"
- 7395 RETURN
- 7400 REM-------------------------------
- 7402 REM PARAMETERSATZ NS HOLEN
- 7404 SA=SO+NS*107:SYSGE,SA
- 7406 FOR I=0 TO 2
- 7408 : AD=SA+7*I
- 7410 : BF(I)=USR(AD+73)
- 7412 : X=BF(I)/17.0327/440
- 7414 : Y=LOG(X)/LOG(2) :REM X=2^Y
- 7416 : Y=Y+4+9/12+49/1200
- 7418 : O(I)=INT(Y):Y=(Y-O(I))*12
- 7420 : T(I)=INT(Y)
- 7422 : OF(I)=INT((Y-T(I))*100-48.5)
- 7424 : S(I)=(PEEK(AD+75)=1)
- 7426 : A$=CHR$(49+I):GOSUB 3570
- 7428 : C(I)=PEEK(AD+77) AND 254
- 7430 : C1(I)=C(I) OR 1
- 7432 : AD(I)=PEEK(AD+78)
- 7434 : SR(I)=PEEK(AD+79)
- 7436 NEXT I
- 7438 RF=PEEK(SA+94)
- 7440 EG=(PEEK(SA+95)=1):GOSUB 3740
- 7442 SU=(PEEK(SA+96)=1):GOSUB 3840
- 7444 RETURN
- 7450 REM-------------------------------
- 7452 REM PARAMETERSATZ NS ABSPEICHERN
- 7454 SA=SO+NS*107:SYSPU,SA
- 7456 FOR SN=0 TO 2
- 7458 : AD=SA+7*SN
- 7460 : SYSDO,AD+73,BF(SN)
- 7462 : POKE AD+75,-S(SN)
- 7464 : POKE AD+77,C(SN)
- 7466 : POKE AD+78,AD(SN)
- 7468 : POKE AD+79,SR(SN)
- 7470 NEXT SN
- 7472 POKE SA+94,RF
- 7474 POKE SA+95,-EG
- 7476 POKE SA+96,-SU
- 7478 RETURN
- 7500 REM===============================
- 7505 REM UNTERMENUE DISKETTE
- 7510 REM===============================
- 7515 M=7:PV=0:SYSCL:PRINT"";F1$
- 7520 PRINT" DISK"
- 7525 SYSPR,5,4,F2$;"F1"
- 7530 SYSPR,5,7,F1$;"SOUNDS LADEN"
- 7535 SYSPR,7,4,F2$;"F3"
- 7540 SYSPR,7,7,F1$;"SOUNDS ABSPEICHERN"
- 7545 RETURN
- 7600 REM-------------------------------
- 7605 REM SOUNDS LADEN
- 7610 SYSPR,5,7,F2$;"SOUNDS LADEN"
- 7615 SYSPR,10,4,F1$;"DATEINAME ";
- 7620 DN$="SOUNDS "
- 7625 SYSPR,10,16,DN$
- 7630 SYSPR,10,14,;:INPUT DN$
- 7635 OPEN 8,8,8,DN$+",P,R":CLOSE 8
- 7640 OPEN1,8,15:INPUT#1,A,A$,X,Y:CLOSE1
- 7645 SYSPR,12,4," "
- 7650 IF A=0 THEN 7660
- 7655 SYSPR,12,3,A;A$;X;Y:GOTO 7625
- 7660 A=0:LOAD DN$,8,1
- 7665 SYSPR,5,7,F1$;"SOUNDS LADEN"
- 7670 NS=-1:A=211:GOTO 1550
- 7700 REM-------------------------------
- 7705 REM SOUNDS ABSPEICHERN
- 7710 SYSPR,7,7,F2$;"SOUNDS ABSPEICHERN"
- 7715 SYSPR,10,4,F1$;"DATEINAME ";
- 7720 DN$="SOUNDS "
- 7725 SYSPR,10,16,DN$
- 7730 SYSPR,10,14,;:INPUT DN$
- 7735 SYS 50198:REM MODULATOR AUS
- 7740 REM BEREICH $8000-$8A08 AUF DISK
- 7745 OPEN 1,8,1,"@:"+DN$
- 7750 POKE 252,0:POKE 253,144:REM $9000
- 7755 POKE 780,252:REM AKKU
- 7760 POKE 781,8 :REM X-REG = $08
- 7765 POKE 782,154:REM Y-REG = $9A
- 7770 SYS 65496 :REM KERNAL SAVE
- 7775 CLOSE 1
- 7780 OPEN1,8,15:INPUT#1,A,A$,X,Y:CLOSE1
- 7785 IF A=0 THEN 7795
- 7790 SYSPR,12,4,A;A$;X;Y:GOTO 7725
- 7795 SYSPR,12,4," "
- 7800 SYSPR,7,7,F1$;"SOUNDS ABSPEICHERN"
- 7805 SYS 50185:RETURN:REM MODULATOR AN
- 8000 REM===============================
- 8010 REM VORBESETZUNG, INITIALISIERUNG
- 8020 REM===============================
- 8030 PRINT"[147] ";
- 8035 PRINT"BITTE 30 SEKUNDEN WARTEN"
- 8040 REM-------------------------------
- 8045 REM MS-PROGRAMME IN KASSETTENPUF.
- 8050 FOR I=0 TO 22 :REM KERNAL-GOSUB
- 8055 POKE 828+I,PEEK(43139+I):NEXT
- 8060 FORI=0TO129:READX:POKE851+I,X:NEXT
- 8065 POKE785,169:POKE 786,3:REM USR
- 8070 REM-------------------------------
- 8072 REM MS-PROGRAMME AB $C423
- 8074 FOR I=50211 TO 50291
- 8076 READ X:POKE I,X:NEXT
- 8078 REM-------------------------------
- 8080 REM NAMEN DER TOENE
- 8082 FOR I=0 TO 11:READ TN$(I):NEXT
- 8100 REM-------------------------------
- 8110 REM SPRUNGVEKTOREN
- 8120 READ A$:L=LEN(A$)
- 8130 ON L GOTO 8150,8220,8280,8310
- 8150 REM L=1 ASCII-ZEICHEN
- 8160 A=ASC(A$)
- 8170 IF M>=0 THEN V%(M,A)=ZN:GOTO 8120
- 8180 FOR I=0 TO 7:V%(I,A)=ZN:NEXT
- 8190 GOTO 8120
- 8200 IF LEFT$(A$,1)<>"M" THEN 8120
- 8220 REM L=2 MENUE-INDIKATOR
- 8230 IF LEFT$(A$,1)<>"M" THEN 8120
- 8240 A$=RIGHT$(A$,1)
- 8250 IF A$="A" THEN M=-1 :GOTO 8120
- 8260 M=VAL(A$) :GOTO 8120
- 8280 REM L=3 ASCII-WERT
- 8290 A=VAL(A$) :GOTO 8170
- 8310 REM L=4 ZEILENNUMMER ODER ENDE
- 8320 IF A$="ENDE" THEN 8340
- 8330 ZN=VAL(A$) :GOTO 8120
- 8340 REM-------------------------------
- 8350 REM TONNUMMERN
- 8360 A$="Q2W3ER5T6Y7UI9O0P@-*\^;="
- 8370 FOR I=0 TO 24
- 8380 : A=ASC(MID$(A$,I+1,1))
- 8390 : TN%(A)=I
- 8400 : FOR J=0 TO 7:V%(J,A)=2000:NEXT
- 8410 NEXT I
- 8450 REM-------------------------------
- 8455 REM FREQUENZEN DER TONLEITER
- 8460 FOR I=0 TO 24:TH(I)=2^(I/12):NEXT
- 8465 REM-------------------------------
- 8470 REM KONSTANTEN
- 8472 GS=828:GT=857:PR=869:DO=897:CL=959
- 8474 NA=50229:GE=50245:PU=50276
- 8480 SI=54272:MO=49152:FA=55296
- 8482 SO=36864
- 8484 F1$=CHR$(154):F1=14
- 8490 F2$=CHR$(5) :F2=1
- 8495 KV$(0)="TRIAN ":KF$(0)="[206][205][206][205]"
- 8500 KV$(1)="SAWUP ":KF$(1)="[206][204][206][204]"
- 8505 KV$(2)="SAWDWN":KF$(2)="[186][205][186][205]"
- 8510 KV$(3)="SQUARE":KF$(3)="[207][204][207][204]"
- 8515 MD$(0)="RESET" :MD$(1)="RESET"
- 8520 MD$(2)="HOLD " :MD$(3)="RUN "
- 8525 BL$(0)="":BL$(1)=" ":BL$(2)=" "
- 8530 BL$(3)=" ":BL$(4)=" "
- 8535 BL$(5)=" ":BL$(6)=" "
- 8540 REM-------------------------------
- 8545 REM SOUNDPARAMETER VORBESETZUNGEN
- 8550 FOR SN=0 TO 2
- 8555 : POKE SI+7*SN+5,10 :AD(SN)=10
- 8560 : POKE SI+7*SN+6,138:SR(SN)=138
- 8565 : O(SN)=3+SN:OF(SN)=0:T(SN)=0
- 8570 : BF=440*2^(O(SN)-4+(T(SN)-9)/12+OF(SN)/1200)
- 8572 : BF(SN)=BF*17.0327
- 8575 : C(SN)=64 :C1(SN)=65
- 8580 : S(SN)=(SN=0)
- 8585 : SYSDO,MO+7*SN+2,2048 :REM PW
- 8590 : POKE MO+7*SN+4,0 :REM PORTA
- 8595 NEXT SN
- 8600 POKE SI+23,0:RF=0 :REM RES/FILT
- 8605 SYSDO,MO+21,0 :REM FILTERFR.
- 8610 POKE MO+23,15 :REM MOD/LAUT
- 8615 FOR I=24 TO 72 :REM KSV,LFO,EG AUS
- 8620 : POKE MO+I,0:NEXT
- 8625 EG=0 :REM EG ABKOPPELN
- 8630 SU=0 :REM SUSTAIN AUS
- 8635 REM-------------------------------
- 8640 REM SOUNDS VORBESETZEN
- 8645 FOR NS=0 TO 23
- 8650 : GOSUB 7450
- 8655 : AD=SO+107*NS+97
- 8660 : FOR I=AD TO AD+9:POKE I,46:NEXT
- 8665 NEXT NS:NS=0
- 8700 REM-------------------------------
- 8870 REM FARBEN, BILD, MODULATOR
- 8880 POKE 53280,14:POKE 53281,6
- 8890 PRINT F1$;"[146]";:POKE 650,128
- 8900 GOSUB 4200 :REM BILD ZEILEN 15-23
- 8910 SYS MO+1033:REM MODULATOR AKTIV.
- 8920 A=2:RETURN
- 9000 REM===============================
- 9010 REM DATAS
- 9020 REM===============================
- 9030 REM MASCHINENPROGRAMME
- 9060 DATA 032,089,003,076,174,167,032
- 9070 DATA 253,174,032,138,173,032,247
- 9080 DATA 183,076,163,168,032,253,174
- 9090 DATA 032,158,183,138,072,032,253
- 9100 DATA 174,032,158,183,138,168,104
- 9110 DATA 170,024,032,240,255,032,253
- 9120 DATA 174,076,160,170,032,253,174
- 9130 DATA 032,138,173,032,247,183,165
- 9140 DATA 020,133,158,165,021,133,159
- 9150 DATA 032,253,174,032,138,173,032
- 9160 DATA 247,183,160,000,120,165,020
- 9170 DATA 145,158,200,165,021,145,158
- 9180 DATA 088,096,032,247,183,160,000
- 9190 DATA 120,177,020,133,099,200,177
- 9200 DATA 020,088,133,098,162,144,056
- 9210 DATA 076,073,188,169,032,162,000
- 9220 DATA 157,000,004,157,000,005,202
- 9230 DATA 208,247,162,087,157,000,006
- 9240 DATA 202,016,250,096
- 9250 REM-------------------------------
- 9260 REM MASCHINENPROGRAMME AB $C423
- 9270 DATA 032,253,174,032,138,173,032
- 9280 DATA 247,183,165,020,133,158,165
- 9290 DATA 021,133,159,096,032,035,196
- 9300 DATA 160,000,177,158,032,210,255
- 9310 DATA 200,192,010,208,246,096,032
- 9320 DATA 035,196,160,000,177,158,153
- 9330 DATA 000,192,200,192,073,208,246
- 9340 DATA 177,158,153,183,211,200,192
- 9350 DATA 094,208,246,177,158,141,023
- 9360 DATA 212,096,032,035,196,160,000
- 9370 DATA 185,000,192,145,158,200,192
- 9380 DATA 073,208,246,096
- 9400 REM-------------------------------
- 9410 REM NAMEN DER TOENE
- 9420 DATA C,C#,D,D#,E,F,F#,G,G#,A,A#,H
- 9500 REM-------------------------------
- 9510 REM DATAS FUER SPRUNGVERTEILER
- 9520 DATA MA,4000,X,3500,V,3600,032
- 9530 DATA MA,3700,160,3800,S
- 9540 DATA MA,2550,133,2560,134
- 9550 DATA MA,2570,135,2580,136,4500,214
- 9555 DATA MA,5500,L,6000,H,6500,K
- 9560 DATA MA,5000,F,7000,211,7500,D
- 9565 DATA M1,4654,145,4660,017
- 9570 DATA M1,4666,029,4680,157
- 9580 DATA M2,5160,157,5145,029
- 9600 DATA M3,5675,145,5690,017
- 9610 DATA M3,5720,157,5705,029
- 9620 DATA M4,6410,157,6440,029
- 9630 DATA M5,6830,145,6850,017
- 9640 DATA M5,6870,157,6890,029
- 9650 DATA M5,6935,133,134,6975,135,136
- 9700 DATA M6,7110,A,B,C,7200,_,7300,N
- 9750 DATA M7,7600,133,7700,134
- 9900 DATA ENDE
-